Merge pull request #10492 from iNavFlight/MrD_Update-OSD.md-for-8.0
[inav.git] / docs / development / Building in Vagrant.md
blobc931f2ffccab03bd4a867bfdcfad589c2ac40d5c
1 # Building with Vagrant
3 > **On Windows building with this method is not advised and should be used only if Windows Linux Subsystem can not be used. In all other cases all Windows users should be using Linux Subsystem (WSL) instead**
5 Setting up build environment with Vagrant is remarkably simple, but you still need to have some basic knowlage of your OS.
7 ## Installing Vagrant
8 Vagrant needs some kind of virtualization software to run, i.e. VirtualBox.
9 You can get VirtualBox from here:
10 ```
11 https://www.virtualbox.org/wiki/Downloads
12 ```
14 Download and install Vagrant for you OS from here:
15 ```
16 https://www.vagrantup.com/downloads.html
17 ```
19 ## Cloning INAV repository
20 Using git (The preferred way!)
21 ```
22 git clone https://github.com/iNavFlight/inav.git
23 ```
25 Or download the .zip file from
26 ```
27 https://github.com/iNavFlight/inav
28 ```
29 and extract it to folder of your choosing.
31 ## Running the virtual machine
32 Open up a terminal or command line interface (In windows search for CMD.exe and run it as administrator!)
33 Navigate in to the directory of your cloned/unzipped INAV repository. (Where the "Vagrantfile" is located.) and start the virtual machine.
34 ```
35 vagrant up
36 ```
38 Starting the virtual machine might take some time depending on your computer speed.
39 When you start the virtual machine for the first time, it has to download the base virtual machine files and do some installation steps, 
40 so it takes longer than the following times you start it.
43 When the start up has finished succesfully and you are back to your command prompt. Login in to the virtual machine.
44 ```
45 vagrant ssh
46 ```
48 ## Building firmware
49 In the virtual machine, go to the INAV directory
50 ```
51 cd inav
52 ```
54 If you downloadet the repository as a zip file, you may have to type:
55 ```
56 git init
57 ```
59 To stop the file system boundary warnings.
61 Build your desired target
62 i.e.
63 ```
64 make TARGET=AIRBOTF4
65 ```
67 ## Updating and rebuilding the firmware
69 ```
70 git reset --hard
71 git pull
72 make clean TARGET=AIRBOTF4
73 make TARGET=AIRBOTF4
74 ```
76 ## Additional virtual machine commands
78 Exit from the virtual machine interface with:
79 ```
80 exit
81 ```
83 Shutdown the virtual machine with:
84 ```
85 vagrant halt
86 ```
88 Remove the virtual machine files from your computer with:
89 ```
90 vagrant destroy
91 ```